/**
 * Storage 封装
 * es6使用的规范
 */

const STORAGE_KEY = 'mall';
export default{
	// 存储值
	setItem(key,value,module_name){
		if(module_name){
			let val = this.getItem(module_name);
			val[key] = value;
			this.setItem(module_name,val);
		}else{
			//与user同级
			let val = this.getStorage();
			val[key] = value;
			window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
		}
	},
	//获取某个模块下面的属性.
	getItem(key,module_name){
		if(module_name){
			let val = this.getItem(module_name);
			if(val)return val[key];
		}
		return this.getStorage()[key];
	},
	
	getStorage(){
		//获取整个浏览器的信息
		return JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}');
	},
	clear(key,module_name){
		let val = this.getStorage();
		if(module_name){
			if(!val[module_name])return;
			delete val[module_name][key];
		}else{
			delete val[key];
		}
		
		window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
	}
}